# 格式化输出
# 基本使用
import json
import math


def invoke_basic():
    print('{}网址: "{}!"'.format('Python技术', 'www.justdopython.com'))


# 数字位置
def invoke_location():
    print('{0} 和 {1}'.format('Hello', 'Python'))
    print('{0} {1}'.format('Hello', 'Python'))
    print('{1} {0}'.format('Hello', 'Python'))


# 关键词
def invoke_keyword():
    print('{name}网址: {site}'.format(name='Python技术', site='www.justdopython.com'))


# 精度
def invoke_float():
    print('The value of PI is {0:.6f}.'.format(math.pi))


# 规整
def invoke_width():
    table = {'Yzpang': 123, 'Jack': 456, 'Done': 789}
    for name, phone in table.items():
        print('{0:10} == > {1:10d}'.format(name, phone))


# 读取键盘输入
def invoke_input():
    str = input("请输入: ")
    print("输入内容是: ", str)


# 文件读写
# 文件对象方法
def invoke_file():
    # 创建文件对象
    f = open("tmp.txt", 'r')
    # 读取5个字节
    str = f.read(5)
    print(str)
    # 关闭文件
    f.close()

    # 按行读取
    f = open("tmp.txt", 'r')
    # 读取1行
    str = f.readline()
    print(str)
    f.close()

    # 读取所有行
    f = open("tmp.txt", 'r')
    # 读取
    str = f.readlines(3)
    print(str)
    f.close()


# 写入文件
def invoke_write():
    f = open("tmp2.txt", 'w')
    num = f.write('Hello Python')
    print(num)
    f.close()


# 改变文件当前的位置。offset 移动距离；from_what 起始位置，0 表示开头，1 表示当前位置，2 表示结尾，默认值为 0 ，即开头。
def invoke_seek():
    f = open("tmp2.txt", 'rb+')
    f.write(b'0123456789abcdef')
    f.seek(5)
    print(f.read())


# 返回文件对象当前所处的位置，它是从文件开头开始算起的字节数。
def invoke_tell():
    f = open("tmp2.txt", 'rb+')
    f.write(b'0123456789abcdef')
    f.seek(5)
    print(f.tell())


# json格式数据
def invoke_json():
    data = {'id':'1', 'name':"yzpang", 'age':'34'}
    f = open('t.json', 'w')
    json.dump(data, f)
    f.close()
    f = open('t.json', 'r')
    d = json.load(f)
    print(d)









